#pragma once
#include "GL/glew.h"

#ifndef ___LOAD_IMAG_ETEXTURE___
#define ___LOAD_IMAG_ETEXTURE___

const unsigned char WEBP_RIFF[] = "RIFF";
const unsigned char WEBP_WEBP[] = "WEBP";
const unsigned char GIF87_HEADER[] = "GIF87a";
const unsigned char GIF89_HEADER[] = "GIF89a";
const unsigned char JPG_SIGNATURE[] = { 0xFF, 0xD8 };
const unsigned char PNG_SIGNATURE[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a };

class ByteBuffer;
GLuint LoadTexture(const char* path);
GLuint LoadTexture(ByteBuffer& bufData);

GLuint LoadDDSTexture(const char* path);
GLuint LoadPngTexture(const char* path);

GLuint LoadPngTexture(ByteBuffer& bufData);
GLuint LoadJpegTexture(const char* path);
GLuint LoadJpegTexture(const ByteBuffer& bufData);

#endif // !___LOAD_IMAG_ETEXTURE___
